package com.ohs.ohsoa.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ohs.ohsoa.system.dto.PasswordDto;
import com.ohs.ohsoa.system.entity.UserInfo;
import com.ohs.ohsoa.system.vo.DepartmentAndRoleVo;
import com.ohs.ohsoa.system.vo.LoginInfoVo;
import com.ohs.ohsoa.system.vo.UserInfoVo;
import com.ohs.ohsoa.utils.bean.requestBean.PageParam;

import java.util.List;

/**
 * 用户service接口
 *
 * @author mwx
 * @since  2021年10月08日
 */
public interface UserInfoService extends IService<UserInfo> {


    //根据name查询数据
    LoginInfoVo login(String userName, String pwd);

    // 分页查询
    List<UserInfoVo> listUserInfo(PageParam<UserInfo> pageParam);

    UserInfoVo getUserInfo();
    // 查询详情
    UserInfoVo getUserById(String userinfoGuid);
    //新增
    Boolean insert(UserInfo userInfo);
    //修改
    Boolean update(UserInfo userInfo);
    // 删除
    Boolean deleteUserInfoById(List<String> ids);

    /**初始化密码
     *
     * @param userInfo 用户信息
     * @return 初始化结果
     */
    Boolean resetpassword(UserInfo userInfo);

    /**员工新增时获取所有企业的部门，职务，学历
     *
     * @return 所有企业的部门，职务，学历
     */
    DepartmentAndRoleVo departmentAndRoleByEnterprises();

//    /**修改权限
//     *
//     * @param userInfo 用户信息
//     * @return 修改结果
//     */
//    Boolean selectAuthority(UserInfo userInfo);

    /**
     *
     * @param passwordDto  用户密码
     * @return 修改结果
     */
    Boolean updatePassword(PasswordDto passwordDto);
}
